#ifndef DEMO_H
#define DEMO_H

#include <QObject>

class Demo : public QObject
{
    Q_OBJECT
    Q_CLASSINFO("Author", "Scorpio")
    Q_CLASSINFO("Version", "1.0")
    Q_CLASSINFO("Vers", "2.0")
public:
    enum LEVEL
    {
        Basic = 1,
        Middle,
        Advanced,
        Master
    };
    Q_ENUM(LEVEL)

    explicit Demo(QObject *parent = nullptr);

    virtual bool event(QEvent *event);

    Q_INVOKABLE void identifyByMoc();

    void haha() {}

signals:
    void echo(const QString& str);
    void echo2(int b);

public slots:
    QString hello(int a, const QString& b);
    int world(int a, const QString& b, int c) {return a;}
};


#endif // DEMO_H
